package com.ruoyi.system.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.dto.HomeBannerDTO;
import com.ruoyi.system.dto.HomeBannerQueryDTO;
import com.ruoyi.system.entity.HomeBannerDO;


/**
 * 首页Banner轮播图配置服务
 */
public interface HomeBannerService extends IService<HomeBannerDO> {

    /**
     * 新增Banner
     * @param bannerDTO Banner配置DTO
     * @return 新增的Banner ID
     */
    Long addBanner(HomeBannerDTO bannerDTO);

    /**
     * 更新Banner
     * @param bannerDTO Banner配置DTO
     */
    void updateBanner(HomeBannerDTO bannerDTO);

    /**
     * 删除Banner
     * @param id Banner ID
     */
    void deleteBanner(Long id);

    /**
     * 获取Banner详情
     * @param id Banner ID
     * @return Banner配置DTO
     */
    HomeBannerDTO getBannerById(Long id);

    /**
     * 分页查询Banner列表
     * @param queryDTO 查询条件
     * @return 分页结果
     */
    IPage<HomeBannerDO> queryBannerPage(HomeBannerQueryDTO queryDTO);

    /**
     * 更新Banner排序
     * @param id Banner ID
     * @param newSort 新排序值
     */
    void updateBannerSort(Long id, Integer newSort);

    /**
     * 更新Banner状态
     * @param id Banner ID
     * @param status 状态：0-下线，1-上线
     */
    void updateBannerStatus(Long id, Integer status);
}
